- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 1 von 1

Thema: EEProm_Safe_Wear_Level – EEPROM-Verschleiß und Log-Funktion

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.674
    Blog-Einträge
    1

    EEProm_Safe_Wear_Level – EEPROM-Verschleiß und Log-Funktion

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo zusammen,


    ich möchte euch meine neue, Open-Source-Bibliothek EEProm_Safe_Wear_Level vorstellen. Sie wurde speziell für die Arduino-Plattform (z.B. Nano, Uno) entwickelt und soll zwei zentrale Probleme beim Speichern von Daten im EEPROM lösen.


    Warum diese Bibliothek?


    Ideal für alle, die Konfigurationsdaten, Betriebsstundenzähler oder einfache Messprotokolle sicher und einfach im EEPROM speichern wollen.
    Ihr kennt das Problem: EEPROMs sind zwar praktisch, aber mit ihrer geringen Speichergröße und der Begrenzung auf 100.000 Schreibzyklen oft nur beschränkt nutzbar. Wenn man diesen Speicher wirklich unbedarft verwenden und ihn als langlebiges Medium ernsthaft in Erwägung ziehen will, muss man sich etwas einfallen lassen, um die Lebenszeit drastisch zu verlängern.
    Genau diesen Versuch habe ich gewagt! Ich gebe zu, es war nicht ganz einfach, die Wear-Leveling-Logik mit CRC und dem Ringpuffer stabil zu implementieren.


    Lizenz: LGPL-2.1 (Open Source).


    Maximale Lebensdauer (Wear-Leveling)


    Die EEProm_Safe_Wear_Level-Bibliothek habe ich entwickelt, um die Lebensdauer des EEPROM eures Arduino-Mikrocontrollers zu maximieren und gleichzeitig die Datenintegrität zu garantieren.
    Verlängert die EEPROM-Lebensdauer (Wear-Leveling)

    Euer EEPROM hat pro Zelle nur ca. 100.000 Schreibzyklen. Standardmäßig ist dieser Speicher in wenigen Jahren verbraucht, wenn ihr Konfigurationsdaten ständig an die gleiche Stelle schreibt oder auch sehr oft schreibt.
    Die Lösung: Die Bibliothek nutzt die gesamte EEPROM-Partition als Ringpuffer. Jeder Schreibvorgang wandert automatisch zum nächsten verfügbaren Sektor.
    Vorteil: Die Lebensdauer wird um den Faktor der Sektoranzahl verlängert. Bei einem Nano (1024 Bytes) und 32-Byte-Datensätzen hält euer Speicher ca. 32-mal länger.



    Szenario (100 Schreibvorgänge/Tag) Lebensdauer
    Ohne Bibliothek (Immer dieselbe Zelle) ca. 2,7 Jahre
    Mit EEPROMWearLevel ca. 87,6 Jahre


    Datenintegrität & Protokollierung: Jeder Datensatz wird mit einer CRC-8-Prüfsumme gespeichert, was die Integrität der gelesenen Daten gewährleistet. Die neu hinzugefügte Log-Funktionalität (loadSectorData) ermöglicht das chronologische Auslesen aller historischen Einträge. Das Testen dieser neuen Funktion durch die Community ist willkommen.


    Die Bibliothek fügt eurem Code diese Funktionalität hinzu



    1. Einfaches Speichern von Werten, Strings etc. im EEPROM
    2. Absicherung der Daten durch CRC-Prüfsumme
    3. Einfaches Lesen der zuletzt gespeicherten Daten
    4. Fehlerbehandlung und Zustandsdiagnose
    5. Log-Lesefunktionalität (NEU)



    Download und Mitarbeit (Empfehlung)


    GitHub ist der beste Ort für den Download und die Versionskontrolle. Dort findet ihr die v25.09.30 als Release, alle Beispiele und die vollständige Dokumentation:


    https://github.com/automatician/EEProm_Safe_Wear_Level


    Ich freue mich über jeden, der die Bibliothek testet! Fragen, Feedback und natürlich Pull Requests sind auf GitHub herzlich willkommen.


    Viele Grüße!
    Geändert von Moppi (Heute um 09:55 Uhr) Grund: Versionsänderung
    Mit freundlichem Gruß
    Moppi

Ähnliche Themen

  1. Vorzeitiger Verschleiß: Tesla erneut Schlusslicht im TÜV-Report
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 23.11.2024, 13:13
  2. [ERLEDIGT] EEPROM - leer / .eep Datei ins EEPROM schreiben
    Von dj_cyborg im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 25.08.2013, 19:50
  3. Funktion gibt Funktion zurück... nächstes Problem
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 19.12.2008, 08:51
  4. Funktion als Rückgabewert einer Funktion?
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 08.09.2008, 10:25
  5. ATmega8 aus dem EEPROM lesen und ins EEPROM Schreiben
    Von melowtrax im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 20.02.2006, 22:32

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen